#pragma once

class Quad: public RenderableVao
{
public:
	Quad(const glm::vec2& startPos);
	~Quad();

	void QuadStart();
	void QuadStop();
	void TreeCalc();

	/*--------------------------------------------------------------------------*/

	bool IsCollision(const glm::vec2& pos);

protected:
	void AddSomeSmallStuff();

private:
	glm::vec2 m_startPos;

	VertexArray* m_terrainVao;

	RenderableVao* m_smallStuff;
	unsigned int m_smallStuffCount;

	RenderableVao* m_fireplaces;
	PointLight* m_fireplacesLights;
	IParticlesEmitterObject* m_smoke;
	unsigned int m_fireplacesCount;

	MeshInstance* m_buildings;
	unsigned int m_buildingsCount;

	std::vector<IObject*> m_collideableObjects;
};

